home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / 福袋 / 注釈付ヘッダ / SXGRAPH.H < prev    next >
Text File  |  1994-02-20  |  25KB  |  824 lines

  1. /*
  2.  * sxgraph.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
  3.  */
  4. #ifndef __SXGRAPH_H
  5. #define __SXGRAPH_H
  6.  
  7. #ifndef __SXDEF2_H
  8. #include <sxdef2.h>
  9. #endif
  10.  
  11. #ifdef FORWORD
  12. #define __PROTO_TYPE
  13. #endif
  14. #ifdef __STDC__
  15. #define __PROTO_TYPE
  16. #endif
  17.  
  18. typedef enum TextColor    TextColor;    /* テキストカラー        */
  19. typedef enum CapKind    CapKind;    /* 先端処理の種類        */
  20. typedef enum JoinKind    JoinKind;    /* 結合処理の種類        */
  21. typedef enum ScreenType    ScreenType;    /* スクリーンタイプ        */
  22. typedef enum FontKind    FontKind;    /* フォントカインド        */
  23. typedef enum FontTbl    FontTbl;    /* ROMフォントテーブル        */
  24. typedef enum GScriptCommand GScriptCommand; /* グラフスクリプトコマンド    */
  25. typedef enum GProc    GProc;        /* 描画ルーチンテーブル        */
  26. typedef enum RgnProc    RgnProc;    /* リージョン1行演算ルーチンテーブル */
  27. typedef enum HProc    HProc;        /* 水平描画初期化ルーチンテーブル */
  28. typedef enum FontProc    FontProc;    /* 文字描画ルーチンテーブル    */
  29. typedef enum FontProcCommand FontProcCommand; /* フォント描画コマンド    */
  30.  
  31. typedef struct Polygon    Polygon;    /* ポリゴンレコード        */
  32. typedef Polygon        ***NPoly;    /* ニューポリゴン        */
  33. typedef struct NPolyEnv    NPolyEnv;    /* ポリゴン環境レコード        */
  34. typedef struct RectImg    RectImg;    /* レクタングルイメージ        */
  35. typedef struct Bits    Bits;        /* ビッツレコード        */
  36. typedef struct Pen    Pen;        /* ペン情報レコード        */
  37. typedef struct TX16    TX16;        /* G16イメージレコード        */
  38. typedef struct GSOneEnv    GSOneEnv;    /* グラフスクリプト描画環境レコード */
  39. typedef struct SpltBz    SpltBz;        /* ベジェ曲線分割情報レコード    */
  40. typedef struct SpltBSp    SpltBSp;    /* Bスプライン曲線分割情報レコード */
  41. typedef struct FontList    FontList;    /* フォントリスト        */
  42. /*
  43.  *    グラフマン(Graph Man)
  44.  */
  45. enum TextColor {            /* テキストカラー        */
  46.     G_THRU,                /* 透明(グラフィック画面が透けて
  47.                        見える)            */
  48.     G_WHITE        =  8,        /* 白                */
  49.     G_LGRAY,            /* 明るいグレー            */
  50.     G_DGRAY,            /* 暗いグレー            */
  51.     G_BLACK,            /* 黒                */
  52.     G_YELLOW,            /* 黄色                */
  53.     G_RED,                /* 赤                */
  54.     G_GREEN,            /* 緑                */
  55.     G_BLUE                /* 青                */
  56. };
  57.  
  58. enum CapKind {                /* 先端処理の種類        */
  59.     G_BUTTCAP,            /* バット線端            */
  60.     G_ROUNDCAP,            /* 丸型線端            */
  61.     G_PROJECTCAP            /* 突出線端            */
  62. };
  63.  
  64. enum JoinKind {                /* 結合処理の種類        */
  65.     G_MITERJOIN,            /* マイター結合            */
  66.     G_ROUNDJOIN,            /* ラウンド結合            */
  67.     G_BEVELJOIN            /* ベベル結合            */
  68. };
  69.  
  70. enum ScreenType {            /* スクリーンタイプ        */
  71.     G_TXT,                /* テキストタイプ        */
  72.     G_GRP,                /* グラフィックタイプ        */
  73.     G_GR2,                /* GR2タイプ            */
  74.     G_GR3                /* GR3タイプ            */
  75. };
  76.  
  77. /* ベースアドレス */
  78. #define G_TXTBASE    ((char *) 0xe00000) /* テキストタイプの場合    */
  79. #define G_GRPBASE    ((char *) 0xc00000) /* グラフィックタイプの場合    */
  80.  
  81. /* 横1ラインのバイト数 */
  82. #define G_TXTLINE    128        /* テキストタイプの場合        */
  83. #define G_GRPLINE    2048        /* グラフィックタイプの場合    */
  84.  
  85. /* 1ページのバイト数 */
  86. #define G_TXTPAGE    0x20000        /* テキストタイプの場合        */
  87.  
  88. /* アクセスページ */
  89. #define G_PAGE0        1        /* ページ0            */
  90. #define G_PAGE1        (1 << 1)    /* ページ1            */
  91. #define G_PAGE2        (1 << 2)    /* ページ2            */
  92. #define G_PAGE3        (1 << 3)    /* ページ3            */
  93. #define G_ALLPAGE    0x0f        /* 全ページ            */
  94.  
  95. /* ブレンドウェイトレシオ */
  96. #define G_GRPRATIO    0x8000        /* グラフィックタイプで
  97.                        65536色同時発色可能な場合    */
  98.  
  99. enum PenModeHi {            /* ペンモードの上位バイト    */
  100.     G_FORE,                /* フォアグラウンドカラー    */
  101.     G_BACK,                /* バックグラウンドカラー    */
  102.     G_PPAT,                /* ペンパターン            */
  103.     G_EXPAT                /* エクステンドパターン        */
  104. };
  105.  
  106. enum PenModeLow {            /* ペンモードの下位バイト */
  107.     G_PSET,                /* PSET            */
  108.     G_AND,                /* AND            */
  109.     G_OR,                /* OR            */
  110.     G_XOR,                /* XOR            */
  111.     G_NPSET,            /* NOT PSET        */
  112.     G_NAND,                /* NOT AND        */
  113.     G_NOR,                /* NOT OR        */
  114.     G_NXOR,                /* NOT XOR        */
  115.     G_ADD,                /* ADD            */
  116.     G_ADDLIM,            /* ADD LIMIT        */
  117.     G_SUB,                /* SUB            */
  118.     G_SUBLIM,            /* SUB LIMIT        */
  119.     G_SELMAX,            /* SELECT MAX        */
  120.     G_SELMIN,            /* SELECT MIN        */
  121.     G_BLEND        /* 14 */    /* BLEND        */
  122. };
  123.  
  124. enum FontKind {                /* フォントカインド    */
  125.     G_ROM12,            /* ROM12ドット        */
  126.     G_ROM16,            /* ROM16ドット        */
  127.     G_ROM24,            /* ROM24ドット        */
  128.     G_TRAD        = 128,        /* Trad            */
  129.     G_AMADEUS,            /* Amadeus        */
  130.     G_ARTIST,            /* Artist        */
  131.     G_BAROQUE,            /* Baroque        */
  132.     G_COMP,                /* Comp            */
  133.     G_HOUSE,            /* House        */
  134.     G_JACK,                /* Jack            */
  135.     G_NABLA,            /* Nabla        */
  136.     G_PANK,                /* Pank            */
  137.     G_SMART,            /* Smart        */
  138.     G_MG1R        = 531,        /* 丸ゴシック体(細字)    */
  139.     G_MG4R        = 534,        /* 丸ゴシック体(中字)    */
  140.     G_MG7R        = 537,        /* 丸ゴシック体(太字)    */
  141.     G_KG1S        = 561,        /* 角ゴシック体(細字)    */
  142.     G_KG4S        = 564,        /* 角ゴシック体(中字)    */
  143.     G_KG7S        = 567        /* 角ゴシック体(太字)    */
  144. };
  145.  
  146. /* フォントフェイス */
  147. #define G_PLANE        0        /* 標準            */
  148. #define G_BOLD        1        /* 強調            */
  149. #define G_ITALIC    (1 << 1)    /* イタリック        */
  150. #define G_ULINE        (1 << 2)    /* アンダーライン    */
  151. #define G_OLINE        (1 << 3)    /* 中抜き        */
  152. #define G_SHADOW    (1 << 4)    /* 中抜き影付き        */
  153. #define G_KERNING    (1 << 5)    /* カーニング        */
  154.  
  155. enum FontTbl {                /* ROMフォントテーブル        */
  156.     GF_HA12,            /* 12ドット半角文字        */
  157.     GF_ZS12,            /* 12ドット全角文字        */
  158.     GF_HA16,            /* 16ドット半角文字        */
  159.     GF_HG16,            /* 16ドット半角外字        */
  160.     GF_QU16,            /* 16ドット1/4角上付き文字    */
  161.     GF_QL16,            /* 16ドット1/4角下付き文字    */
  162.     GF_QM16,            /* 16ドット1/4角文字        */
  163.     GF_ZA16,            /* 16ドット全角非漢字        */
  164.     GF_Z116,            /* 16ドット全角JIS第1水準漢字    */
  165.     GF_Z216,            /* 16ドット全角JIS第2水準漢字    */
  166.     GF_ZG16,            /* 16ドット全角外字        */
  167.     GF_ZS16,            /* 16ドット全角特殊        */
  168.     GF_HA24,            /* 24ドット半角文字        */
  169.     GF_HG24,            /* 24ドット半角外字        */
  170.     GF_QU24,            /* 24ドット1/4角上付き文字    */
  171.     GF_QL24,            /* 24ドット1/4角下付き文字    */
  172.     GF_QM24,            /* 24ドット1/4角文字        */
  173.     GF_ZA24,            /* 24ドット全角非漢字        */
  174.     GF_Z124,            /* 24ドット全角JIS第1水準漢字    */
  175.     GF_Z224,            /* 24ドット全角JIS第2水準漢字    */
  176.     GF_ZG24,            /* 24ドット全角外字        */
  177.     GF_ZS24        /* 21 */    /* 24ドット全角特殊        */
  178. };
  179.  
  180. enum GScriptCommand {            /* グラフスクリプトコマンド    */
  181.     GS_END        = -1,        /* コマンドの終了        */
  182.     GS_NOP,                /* 何も行わない            */
  183.     GS_REM,                /* 注釈                */
  184.     GS_BITMAP,            /* ビットマップの設定        */
  185.     GS_APAGE,            /* アクセスページの設定        */
  186.     GS_CLIP,            /* クリップリージョンの変更    */
  187.     GS_PMODE,            /* ペンモードの指定        */
  188.     GS_PSIZE,            /* ペンサイズの指定        */
  189.     GS_FKIND,            /* フォントカインドの指定    */
  190.     GS_FFACE,            /* フォントフェイスの指定    */
  191.     GS_FMODE,            /* フォントモードの指定        */
  192.     GS_FSIZE,            /* フォントサイズの指定        */
  193.     GS_FORE,            /* フォアグラウンドカラーの指定    */
  194.     GS_BACK,            /* バックグラウンドカラーの指定    */
  195.     GS_PPAT,            /* ペンパターンの指定        */
  196.     GS_EXPAT,            /* エクステンドパターンの指定    */
  197.     GS_LINE,            /* ラインの描画            */
  198.     GS_FRRECT,            /* レクタングルの描画        */
  199.     GS_FLRECT,            /* レクタングルの塗りつぶし    */
  200.     GS_FRRRECT,            /* ラウンドレクタングルの描画    */
  201.     GS_FLRRECT,            /* ラウンドレクタングルの塗りつぶし */
  202.     GS_FROVAL,            /* オーバルの描画        */
  203.     GS_FLOVAL,            /* オーバルの塗りつぶし        */
  204.     GS_FRARC,            /* アークの描画            */
  205.     GS_FLARC,            /* アークの塗りつぶし        */
  206.     GS_FRPOLY,            /* ポリゴンの描画        */
  207.     GS_FLPOLY,            /* ポリゴンの塗りつぶし        */
  208.     GS_FRRGN,            /* リージョンの描画        */
  209.     GS_FLRGN,            /* リージョンの塗りつぶし    */
  210.     GS_STR,                /* 文字列の描画            */
  211.     GS_PUT,                /* ビットイメージの拡大/縮小    */
  212.     GS_COPY,            /* ビットイメージのコピー    */
  213.     GS_FRNPOLY,            /* ニューポリゴンの描画        */
  214.     GS_FLNPOLY    /* 32 */    /* ニューポリゴンの塗りつぶし    */
  215. };
  216.  
  217. enum GProc {                /* 描画ルーチンテーブル        */
  218.     G_STR,                /* 文字列の描画            */
  219.     G_LINE,                /* ラインの描画            */
  220.     G_RECT,                /* レクタングルの描画        */
  221.     G_RRECT,            /* ラウンドレクタングルの描画    */
  222.     G_OVAL,                /* オーバルの描画        */
  223.     G_ARC,                /* アークの描画            */
  224.     G_POLY,                /* ポリゴンの描画        */
  225.     G_RGN,                /* リージョンの描画        */
  226.     G_COPY,                /* ビットイメージのコピー    */
  227.     G_RSV1,                /* システム予約            */
  228.     G_RSV2,                /* システム予約            */
  229.     G_WIDTH,            /* 文字列の幅を求める        */
  230.     G_LENGTH,            /* 指定した幅に収まる文字列の長さを
  231.                        求める            */
  232.     G_NPOLY,            /* ニューポリゴンの描画        */
  233.     G_BEZIER,            /* ベジェ曲線の描画        */
  234.     G_BSPLINE    /* 15 */    /* Bスプライン曲線の描画    */
  235. };
  236.  
  237. enum RgnProc {                /* リージョン1行演算ルーチンテーブル */
  238.     GR_AND,                /* 1ラインのANDをとる        */
  239.     GR_OR,                /* 1ラインのORをとる        */
  240.     GR_DIFF,            /* 1ラインの差分をとる        */
  241.     GR_XOR                /* 1ラインのXORをとる        */
  242. };
  243.  
  244. enum HProc {                /* 水平描画初期化ルーチンテーブル */
  245.     GH_LINE,            /* 水平ライン描画のための初期化    */
  246.     GH_COPY,            /* 水平ラインコピーのための初期化 */
  247.     GH_PUT                /* ビットイメージ描画のための初期化 */
  248. };
  249.  
  250. enum FontProc {                /* 文字描画ルーチンテーブル    */
  251.     GF_FACE,            /* 飾り文字処理            */
  252.     GF_PUTCHAR            /* ビットイメージの描画        */
  253. };
  254.  
  255. enum PlotMode {                /* プロットモード        */
  256.     G_STD,                /* 標準                */
  257.     G_REV,                /* 反転                */
  258.     G_HILITE,            /* ハイライト            */
  259.     G_HILREV,            /* ハイライト反転        */
  260.     G_ERACE,            /* 消去                */
  261.     G_MESH        = 6,        /* 網掛け            */
  262.     G_MESREV,            /* 網掛け反転            */
  263.     G_HIDDEN,            /* 不可視            */
  264.     G_HIDREV            /* 不可視反転            */
  265. };
  266.  
  267. enum CRTMode {            /* 画面モード                */
  268.     G_WS3H,            /* 1024×1024、16色、512×512、高解像度    */
  269.     G_WS3L,            /* 1024×1024、16色、512×512、標準解像度 */
  270.     G_WS0H,            /* 1024×1024、16色、256×256、高解像度    */
  271.     G_WS0L,            /* 1024×1024、16色、256×256、標準解像度 */
  272.     G_NS3H,            /* 512×512、16色、512×512、高解像度    */
  273.     G_NS3L,            /* 512×512、16色、512×512、標準解像度    */
  274.     G_NS0H,            /* 512×512、16色、256×256、高解像度    */
  275.     G_NS0L,            /* 512×512、16色、256×256、標準解像度    */
  276.     G_NM3H,            /* 512×512、256色、512×512、高解像度    */
  277.     G_NM3L,            /* 512×512、256色、512×512、標準解像度 */
  278.     G_NM0H,            /* 512×512、256色、256×256、高解像度    */
  279.     G_NM0L,            /* 512×512、256色、256×256、標準解像度 */
  280.     G_NL3H,            /* 512×512、65536色、512×512、高解像度 */
  281.     G_NL3L,            /* 512×512、65536色、512×512、標準解像度 */
  282.     G_NL0H,            /* 512×512、65536色、256×256、高解像度 */
  283.     G_NL0L,            /* 512×512、65536色、256×256、標準解像度 */
  284.     G_WS4H,        /* 16      1024×1024、16色、768×512、高解像度    */
  285.     G_WS7V        =  19    /* 1024×1024、16色、640×480、VGAモニタ */
  286. };
  287.  
  288. enum CharKind {                /* 文字種コード            */
  289.     G_HANK,                /* 半角文字            */
  290.     G_HGAI,                /* 半角外字            */
  291.     G_QUANK,            /* 1/4角上付き文字        */
  292.     G_QLANK,            /* 1/4角下付き文字        */
  293.     G_ZANK        = 5,        /* 全角非漢字            */
  294.     G_ZJIS1,            /* 全角JIS第1水準漢字        */
  295.     G_ZJIS2,            /* 全角JIS第2水準漢字        */
  296.     G_ZGAI,                /* 全角外字            */
  297.     G_ZSPC                /* 全角特殊            */
  298. };
  299.  
  300. struct Polygon {            /* ポリゴンレコード        */
  301.     long size;            /* レコード全体のサイズ        */
  302.     Rect bounds;            /* バウンドレクタングル        */
  303.     LPoint pt[_VARLEN];        /* 頂点のポイント配列(可変長データ)*/
  304. };
  305.  
  306. struct NPolyEnv {            /* ポリゴン環境レコード        */
  307.     long lineWidth;            /* 線の太さ            */
  308.     CapKind capKind;        /* 先端処理の種類        */
  309.     JoinKind joinKind;        /* 結合処理の種類        */
  310.     long miterLimit;        /* マイターリミット        */
  311. };
  312.  
  313. struct RectImg {            /* レクタングルイメージ        */
  314.     Rect bounds;            /* バウンドレクタングル        */
  315.     BitImg data[_VARLEN];        /* ビットイメージ(可変長データ)*/
  316. };
  317.  
  318. struct GScript {            /* グラフスクリプトレコード    */
  319.     long size;            /* レコード全体のサイズ        */
  320.     unsigned short version;        /* グラフスクリプトのバージョン    */
  321.     Region clipping;        /* グラフスクリプトの外形を表す
  322.                        リージョン(可変長データ)    */
  323. /*    short command[_VARLEN];        /* グラフスクリプトコマンド列
  324.                        (可変長データ)        */
  325. };
  326.  
  327. struct Bits {                /* ビッツレコード        */
  328.     Bitmap bmap;            /* ビットマップレコード        */
  329.     long size;            /* イメージのバイト数        */
  330.     short lockLvl;            /* ロックレベル            */
  331.     char rsv[16];            /* システム予約            */
  332.     unsigned char data[_VARLEN];    /* ビットイメージ(可変長データ)*/
  333. };
  334.  
  335. struct Pen {                /* ペン情報レコード        */
  336.     Point loc;            /* ペン位置            */
  337.     Point size;            /* ペンサイズ            */
  338.     unsigned short mode;        /* ペンモード            */
  339.     BitImg *pat;            /* ペンパターン            */
  340. };
  341.  
  342. struct TX16 {                /* G16イメージレコード        */
  343.     unsigned long self;        /* 'TX16'            */
  344.     long size;            /* これ以降のバイト数        */
  345.     Rect bounds;            /* バウンドレクタングル        */
  346.     unsigned short palet[16];    /* 16色のパレット値        */
  347.     unsigned char data[_VARLEN];    /* イメージデータ(可変長データ) */
  348. };
  349.  
  350. struct GSOneEnv {            /* グラフスクリプト描画環境レコード */
  351.     GScript **gScript;        /* グラフスクリプトハンドル    */
  352.     long offset;            /* 先頭からのオフセット        */
  353.     Rect source;            /* 前のレクタングル        */
  354.     Rect dest;            /* 描画を行うレクタングル    */
  355.     Graph *graph;            /* グラフポインタ        */
  356. };
  357.  
  358. struct SpltBz {                /* ベジェ曲線分割情報レコード    */
  359.     Point a1;            /* 起点の座標            */
  360.     Point c1;            /* 方向点1の座標        */
  361.     Point c2;            /* 方向点2の座標        */
  362.     Point a2;            /* 分割点の座標            */
  363.     Point c3;            /* 方向点3の座標        */
  364.     Point c4;            /* 方向点4の座標        */
  365.     Point a3;            /* 終点の座標            */
  366. };
  367.  
  368. struct SpltBSp {            /* Bスプライン曲線分割情報レコード */
  369.     Point a1;            /* 起点の座標            */
  370.     Point c1;            /* 中間点1の座標        */
  371.     Point a2;            /* 分割点の座標            */
  372.     Point c2;            /* 中間点2の座標        */
  373.     Point a3;            /* 終点の座標            */
  374. };
  375. /*
  376.  *    フォントマン (Font Man)
  377.  */
  378. enum FontProcCommand {            /* フォント描画コマンド        */
  379.     FP_INIT,            /* 文字描画用ワークの初期化    */
  380.     FP_TINI,            /* フォントの解放        */
  381.     FP_INFO,            /* 1文字の幅と高さの最大値を求める */
  382.     FP_DRAW,            /* フォントの描画        */
  383.     FP_LENGTH,            /* 指定した幅に収まる文字列の長さを
  384.                        求める            */
  385.     FP_WIDTH,            /* 文字列の幅を求める        */
  386.     FP_REV,                /* フォントの戻り幅の取得    */
  387.     FP_RSV,                /* システム予約            */
  388.     FP_MAX        = 7
  389. };
  390.  
  391. struct FontList {            /* フォントリスト        */
  392.     short ID;            /* フォントID            */
  393.     short type;            /* フォントタイプ        */
  394.     short motherID;            /* マザーID            */
  395.     char name[26];            /* フォント名            */
  396. };
  397.  
  398. #ifdef __PROTO_TYPE
  399. /*
  400.  *    グラフマン(Graph Man)
  401.  */
  402. int GMOpenGraph(int, Graph *);
  403. int GMCloseGraph(Graph *);
  404. int GMInitGraph(Graph *);
  405. int GMSetGraph(Graph *);
  406. Graph *GMGetGraph(void);
  407. int GMCopyGraph(Graph *, Graph *);
  408. void GMMoveGraph(LPoint);
  409. void GMSlideGraph(LPoint);
  410. int GMSetClip(Region **);
  411. int GMGetClip(Region **);
  412. int GMClipRect(Rect *);
  413. int GMSetHome(LPoint);
  414. int GMSetGraphSize(LPoint);
  415. int GMSetBitmap(Bitmap *);
  416. LPoint GMLocalToGlobal(LPoint);
  417. LPoint GMGlobalToLocal(LPoint);
  418. void GMInitPen(void);
  419. BOOLEAN GMPenShow(void);
  420. BOOLEAN GMPenHide(void);
  421. LPoint GMPenSize(LPoint);
  422. int GMPenMode(int);
  423. BitImg *GMPenPat(BitImg *);
  424. BitImg *GMExPat(BitImg *);
  425. int GMForeColor(int);
  426. int GMBackColor(int);
  427. int GMAPage(int);
  428. LPoint GMGetLoc(void);
  429. void GMGetPen(Pen *);
  430. void GMSetPen(Pen *);
  431. void GMInitialize(void);
  432. void GMNullRect(Rect *);
  433. int GMSizeRect(Rect *, LPoint);
  434. int GMAndRects(int, Rect *, Rect *, Rect *, ...);
  435. int GMMoveRect(Rect *, LPoint);
  436. int GMSlideRect(Rect *, LPoint);
  437. int GMInsetRect(Rect *, LPoint);
  438. int GMAndRect(Rect *, Rect *, Rect *);
  439. int GMOrRect(Rect *, Rect *, Rect *);
  440. BOOLEAN GMPtInRect(Rect *, LPoint);
  441. BOOLEAN GMEqualRect(Rect *, Rect *);
  442. BOOLEAN GMEmptyRect(Rect *);
  443. int GMAdjustRect(Rect *, Rect *, Rect *);
  444. Region **GMNewRgn(void);
  445. int GMDisposeRgn(Region **);
  446. int GMOpenRgn(void);
  447. int GMCloseRgn(Region **);
  448. int GMNullRgn(Region **);
  449. int GMRectRgn(Region **, Rect *);
  450. int GMCopyRgn(Region **, Region **);
  451. int GMMoveRgn(Region **, LPoint);
  452. int GMSlideRgn(Region **, LPoint);
  453. int GMInsetRgn(Region **, LPoint);
  454. int GMAndRgn(Region **, Region **, Region **);
  455. int GMOrRgn(Region **, Region **, Region **);
  456. int GMDiffRgn(Region **, Region **, Region **);
  457. int GMXorRgn(Region **, Region **, Region **);
  458. int GMPtInRgn(Region **, LPoint);
  459. int GMRectInRgn(Region **, Rect *);
  460. int GMEqualRgn(Region **, Region **);
  461. int GMEmptyRgn(Region **);
  462. int GMImgToRgn(Region **, Bitmap *, Rect *);
  463. int GMInitBitmap(int, Bitmap *);
  464. void GMMove(LPoint);
  465. void GMMoveRel(LPoint);
  466. int GMLine(LPoint);
  467. int GMLineRel(LPoint);
  468. int GMFrameRect(Rect *);
  469. int GMFillRect(Rect *);
  470. int GMFrameOval(Rect *);
  471. int GMFillOval(Rect *);
  472. int GMFrameRRect(Rect *, LPoint);
  473. int GMFillRRect(Rect *, LPoint);
  474. int GMFrameArc(Rect *, int, int);
  475. int GMFillArc(Rect *, int, int);
  476. int GMFrameRgn(Region **);
  477. int GMFillRgn(Region **);
  478. int GMFramePoly(Polygon **);
  479. int GMFillPoly(Polygon **);
  480. int GMScroll(Rect *, LPoint, Region **);
  481. int GMCopy(Bitmap *, Bitmap *, Rect *, Rect *, int, Region **);
  482. int GMCopyMask(Bitmap *, Bitmap *, Bitmap *, Rect *, LPoint, Rect *);
  483. int GMPlotImg(BitImg *, Rect *, int);
  484. int GMPutRImg(RectImg *, LPoint);
  485. int GMDupHImg(BitImg *, LPoint, int, int);
  486. int GMDupVImg(BitImg *, LPoint, int, int);
  487. int GMDupHRImg(RectImg *, LPoint, int);
  488. int GMDupVRImg(RectImg *, LPoint, int);
  489. int GMFontKind(int);
  490. int GMFontFace(int);
  491. int GMFontMode(int);
  492. LPoint GMFontSize(LPoint);
  493. int GMDrawChar(int);
  494. int GMDrawStrL(const _LASCII);
  495. int GMDrawStr(const char *, long, int);
  496. int GMDrawStrZ(const char *);
  497. long GMCharWidth(int);
  498. long GMStrLWidth(const _LASCII);
  499. long GMStrWidth(const char *, long, int);
  500. int GMStrLength(const char *, long, int);
  501. LPoint GMFontInfo(void);
  502. int GMOpenScript(Region **);
  503. int GMCloseScript(GScript **);
  504. int GMDisposeScript(GScript **);
  505. int GMDrawScript(GScript **, Rect *);
  506. long GMGetScript(GScript **, long);
  507. int GMOpenPoly(void);
  508. int GMClosePoly(Polygon **);
  509. int GMDisposePoly(Polygon **);
  510. int GMShadowStrZ(const char *, LPoint);
  511. int GMShadowRect(Rect *);
  512. int GMInvertRect(Rect *, int);
  513. int GMInvertBits(LPoint, Bitmap *);
  514. LPoint GMMapPt(LPoint, Rect *, Rect *);
  515. void GMMapRect(Rect *, Rect *, Rect *);
  516. void GMMapPoly(Polygon **, Rect *, Rect *);
  517. void GMMapRgn(Region **, Rect *, Rect *);
  518. LPoint GMScalePt(LPoint, Rect *, Rect *);
  519. void GMInitPalet(void);
  520. void GMDrawG16(TX16 *, LPoint);
  521. int GMGetPixel(Bitmap *, LPoint);
  522. int GMCalcMask(BitImg *, BitImg *, int, int, int, int);
  523. int GMCalcFrame(BitImg *, BitImg *, int, int, int, int);
  524. void *SXLongMul(void *, long, long);
  525. int SXFixRound(long);
  526. long SXFixMul(long, long);
  527. long SXFixDiv(int, int);
  528. unsigned char ***GMGetFontTable(void);
  529. void GMCopyStdProc(int (**)());
  530. long GMStrZWidth(const char *);
  531. int GMTransImg(Bitmap *, Bitmap *, Rect *, Rect *);
  532. int GMFillRImg(RectImg *, LPoint);
  533. int GMFillImg(BitImg *, Rect *);
  534. int GMSlidedRgn(Region **, Region **, LPoint);
  535. int GMPaintRgn(Region **, Bitmap *, LPoint);
  536. int GMSetRgnLine(int);
  537. int GMGetRgnLine(void);
  538. int GMInitGraphMode(int);
  539. int GMCurFont(void);
  540. LPoint GMGetScrnSize(void);
  541. Graph *GMExgGraph(Graph *);
  542. Bitmap *GMExgBitmap(Bitmap *);
  543. Bitmap *GMGetBitmap(void);
  544. int GMCalcBitmap(Bitmap *);
  545. long GMCalcScrnSize(Bitmap *);
  546. Bits **GMNewBits(int, Rect *, int);
  547. void GMDisposeBits(Bits **);
  548. int GMLockBits(Bits **);
  549. int GMUnlockBits(Bits **);
  550. int GMItalicRect(Rect *);
  551. int GMItalicRgn(Region **, Rect *);
  552. void GMFreeBits(Bits **);
  553. int GMCalcGraph(Graph *);
  554. long GMPackImage(void *, void *, long);
  555. long GMUnpackImage(void *, void *, long);
  556. LPoint GMAdjustPt(LPoint, Rect *);
  557. int GMPutImg(BitImg *, Rect *);
  558. int GMCenterRect(Rect *, Rect *, LPoint, int);
  559. int GMScrewRect(Rect *);
  560. int GMAndRectRgn(Region **, Region **, Rect *);
  561. int GMOrRectRgn(Region **, Region **, Rect *);
  562. int GMDiffRectRgn(Region **, Region **, Rect *);
  563. int GMXorRectRgn(Region **, Region **, Rect *);
  564. int GMCharKind(int);
  565. int GMDiffRgnRect(Region **, Rect *, Region **);
  566. int (**GMGetHProcTbl(void))();
  567. int (**GMGetStdProcTbl(void))();
  568. int (**GMGetFontProcTbl(void))();
  569. void (**GMGetRgnProcTbl(void))();
  570. int GMDrawGsOne(GSOneEnv *);
  571. int GMPtInImg(RectImg *, LPoint, int);
  572. int GMFrameNPoly(NPoly *, NPolyEnv *);
  573. int GMFillNPoly(NPoly *, NPolyEnv *);
  574. Region **GMNPolyFrRgn(Region **, NPoly *, NPolyEnv *, Rect *);
  575. Region **GMNPolyFlRgn(Region **, NPoly *, NPolyEnv *, Rect *);
  576. BOOLEAN GMPtInNPoly(NPoly *, NPolyEnv *, LPoint);
  577. BOOLEAN GMPtOnNPoly(NPoly *, NPolyEnv *, LPoint);
  578. int GMRecordScript(_Handle, long, long);
  579. int GMNLineRel(LPoint, NPolyEnv *);
  580. int GMNLine(LPoint, NPolyEnv *);
  581. int GMRecordPoly(LPoint);
  582. int GMSetFlattness(int);
  583. int GMGetFlattness(void);
  584. int GMDrawBezier(LPoint, LPoint, LPoint);
  585. int GMDrawBSpline(LPoint, LPoint);
  586. int GMSplitBezier(LPoint, LPoint, LPoint, long, SpltBz *);
  587. int GMSplitBSpline(LPoint, LPoint, long, SpltBSp *);
  588. long GMPtOnBezier(LPoint, LPoint, LPoint, LPoint);
  589. long GMPtOnBSpline(LPoint, LPoint, LPoint);
  590. int GMSetGSDraw(int, int (*)());
  591. int (*GMGetGSDraw(int))();
  592. int GMSetGSGet(int, int (*)());
  593. int (*GMGetGSGet(int))();
  594. /*
  595.  *    フォントマン (Font Man)
  596.  */
  597. int FMInit(void);
  598. FontList *FMGetFontList(void);
  599. int FMSetCacheSize(int);
  600. int FMGetCacheSize(void);
  601. int FMSetSpaceWidth(int);
  602. int FMGetSpaceWidth(void);
  603. int FMSetTracking(int);
  604. int FMGetTracking(void);
  605. int FMGetKerningWidth(int, int);
  606. int FMFontMenuSelect(LPoint);
  607. NPoly *FMGetFontPolyData(int);
  608.  
  609. #undef __PROTO_TYPE
  610. #else
  611. /*
  612.  *    グラフマン(Graph Man)
  613.  */
  614. int GMOpenGraph();
  615. int GMCloseGraph();
  616. int GMInitGraph();
  617. int GMSetGraph();
  618. Graph *GMGetGraph();
  619. int GMCopyGraph();
  620. void GMMoveGraph();
  621. void GMSlideGraph();
  622. int GMSetClip();
  623. int GMGetClip();
  624. int GMClipRect();
  625. int GMSetHome();
  626. int GMSetGraphSize();
  627. int GMSetBitmap();
  628. LPoint GMLocalToGlobal();
  629. LPoint GMGlobalToLocal();
  630. void GMInitPen();
  631. BOOLEAN GMPenShow();
  632. BOOLEAN GMPenHide();
  633. LPoint GMPenSize();
  634. int GMPenMode();
  635. BitImg *GMPenPat();
  636. BitImg *GMExPat();
  637. int GMForeColor();
  638. int GMBackColor();
  639. int GMAPage();
  640. LPoint GMGetLoc();
  641. void GMGetPen();
  642. void GMSetPen();
  643. void GMInitialize();
  644. void GMNullRect();
  645. int GMSizeRect();
  646. int GMAndRects();
  647. int GMMoveRect();
  648. int GMSlideRect();
  649. int GMInsetRect();
  650. int GMAndRect();
  651. int GMOrRect();
  652. BOOLEAN GMPtInRect();
  653. BOOLEAN GMEqualRect();
  654. BOOLEAN GMEmptyRect();
  655. int GMAdjustRect();
  656. Region **GMNewRgn();
  657. int GMDisposeRgn();
  658. int GMOpenRgn();
  659. int GMCloseRgn();
  660. int GMNullRgn();
  661. int GMRectRgn();
  662. int GMCopyRgn();
  663. int GMMoveRgn();
  664. int GMSlideRgn();
  665. int GMInsetRgn();
  666. int GMAndRgn();
  667. int GMOrRgn();
  668. int GMDiffRgn();
  669. int GMXorRgn();
  670. int GMPtInRgn();
  671. int GMRectInRgn();
  672. int GMEqualRgn();
  673. int GMEmptyRgn();
  674. int GMImgToRgn();
  675. int GMInitBitmap();
  676. void GMMove();
  677. void GMMoveRel();
  678. int GMLine();
  679. int GMLineRel();
  680. int GMFrameRect();
  681. int GMFillRect();
  682. int GMFrameOval();
  683. int GMFillOval();
  684. int GMFrameRRect();
  685. int GMFillRRect();
  686. int GMFrameArc();
  687. int GMFillArc();
  688. int GMFrameRgn();
  689. int GMFillRgn();
  690. int GMFramePoly();
  691. int GMFillPoly();
  692. int GMScroll();
  693. int GMCopy();
  694. int GMCopyMask();
  695. int GMPlotImg();
  696. int GMPutRImg();
  697. int GMDupHImg();
  698. int GMDupVImg();
  699. int GMDupHRImg();
  700. int GMDupVRImg();
  701. int GMFontKind();
  702. int GMFontFace();
  703. int GMFontMode();
  704. LPoint GMFontSize();
  705. int GMDrawChar();
  706. int GMDrawStrL();
  707. int GMDrawStr();
  708. int GMDrawStrZ();
  709. long GMCharWidth();
  710. long GMStrLWidth();
  711. long GMStrWidth();
  712. int GMStrLength();
  713. LPoint GMFontInfo();
  714. int GMOpenScript();
  715. int GMCloseScript();
  716. int GMDisposeScript();
  717. int GMDrawScript();
  718. long GMGetScript();
  719. int GMOpenPoly();
  720. int GMClosePoly();
  721. int GMDisposePoly();
  722. int GMShadowStrZ();
  723. int GMShadowRect();
  724. int GMInvertRect();
  725. int GMInvertBits();
  726. LPoint GMMapPt();
  727. void GMMapRect();
  728. void GMMapPoly();
  729. void GMMapRgn();
  730. LPoint GMScalePt();
  731. void GMInitPalet();
  732. void GMDrawG16();
  733. int GMGetPixel();
  734. int GMCalcMask();
  735. int GMCalcFrame();
  736. void *SXLongMul();
  737. int SXFixRound();
  738. long SXFixMul();
  739. long SXFixDiv();
  740. unsigned char ***GMGetFontTable();
  741. void GMCopyStdProc();
  742. long GMStrZWidth();
  743. int GMTransImg();
  744. int GMFillRImg();
  745. int GMFillImg();
  746. int GMSlidedRgn();
  747. int GMPaintRgn();
  748. int GMSetRgnLine();
  749. int GMGetRgnLine();
  750. int GMInitGraphMode();
  751. int GMCurFont();
  752. LPoint GMGetScrnSize();
  753. Graph *GMExgGraph();
  754. Bitmap *GMExgBitmap();
  755. Bitmap *GMGetBitmap();
  756. int GMCalcBitmap();
  757. long GMCalcScrnSize();
  758. Bits **GMNewBits();
  759. void GMDisposeBits();
  760. int GMLockBits();
  761. int GMUnlockBits();
  762. int GMItalicRect();
  763. int GMItalicRgn();
  764. void GMFreeBits();
  765. int GMCalcGraph();
  766. long GMPackImage();
  767. long GMUnpackImage();
  768. LPoint GMAdjustPt();
  769. int GMPutImg();
  770. int GMCenterRect();
  771. int GMScrewRect();
  772. int GMAndRectRgn();
  773. int GMOrRectRgn();
  774. int GMDiffRectRgn();
  775. int GMXorRectRgn();
  776. int GMCharKind();
  777. int GMDiffRgnRect();
  778. int (**GMGetHProcTbl())();
  779. int (**GMGetStdProcTbl())();
  780. int (**GMGetFontProcTbl())();
  781. void (**GMGetRgnProcTbl())();
  782. int GMDrawGsOne();
  783. int GMPtInImg();
  784. int GMFrameNPoly();
  785. int GMFillNPoly();
  786. Region **GMNPolyFrRgn();
  787. Region **GMNPolyFlRgn();
  788. BOOLEAN GMPtInNPoly();
  789. BOOLEAN GMPtOnNPoly();
  790. int GMRecordScript();
  791. int GMNLineRel();
  792. int GMNLine();
  793. int GMRecordPoly();
  794. int GMSetFlattness();
  795. int GMGetFlattness();
  796. int GMDrawBezier();
  797. int GMDrawBSpline();
  798. int GMSplitBezier();
  799. int GMSplitBSpline();
  800. long GMPtOnBezier();
  801. long GMPtOnBSpline();
  802. int GMSetGSDraw();
  803. int (*GMGetGSDraw())();
  804. int GMSetGSGet();
  805. int (*GMGetGSGet())();
  806. /*
  807.  *    フォントマン (Font Man)
  808.  */
  809. int FMInit();
  810. FontList *FMGetFontList();
  811. int FMSetCacheSize();
  812. int FMGetCacheSize();
  813. int FMSetSpaceWidth();
  814. int FMGetSpaceWidth();
  815. int FMSetTracking();
  816. int FMGetTracking();
  817. int FMGetKerningWidth();
  818. int FMFontMenuSelect();
  819. NPoly *FMGetFontPolyData();
  820.  
  821. #endif __PROTO_TYPE
  822.  
  823. #endif __SXGRAPH_H
  824.